package com.mhy.netsafe.utils.picture;

import android.util.Log;

import com.mhy.netsafe.db.UserInfoDao;
import com.mhy.netsafe.db.DayStepDao;
import com.mhy.netsafe.utils.picture.DayStep;
import com.mhy.netsafe.utils.picture.UserInfo;

import java.util.Date;
import java.util.List;

/**
 * 项目名 NetSafe
 * 所在包 com.mhy.netsafe.utils.picture
 * 作者 mahongyin
 * 时间 2019/8/12 23:15
 * 邮箱 mhy.work@qq.com
 * 描述 说明:
 */
public class GreenDaoUtils {
    private DayStep mDayStep;
    DayStepDao dao;
    /**
     * 增     
     */
//    public void insert() {
//        String date = new Date().toString();
//        mDayStep = new DayStep(null, date, 0);//第一个是id值，因为是自增长所以不用传入
//        dao.insert(mDayStep);
//    }


    /**
     * 查     
     */
    public void Search() {
//方法一
        List<DayStep> mDayStep = dao.loadAll();
        //方法二
        //List<DayStep> mDayStep = dao.queryBuilder().list();
        //方法三 惰性加载
//List<DayStep> mDayStep = dao.queryBuilder().listLazy();
        for (int i = 0; i < mDayStep.size(); i++) {
            String date = "";
            date = mDayStep.get(i).getDate();
            Log.d("cc", "id:  " + i + "date:  " + date);
        }


    }


    /**
     * 删
     * @param i 删除数据的id 
     */
    public void delete(long i) {
        dao.deleteByKey(i);
        //当然Greendao还提供了其他的删除方法，只是传值不同而已
    }


    /**
     *改
     * @param i
     * @param date
     *      
     */
    public void correct(long i, String date) {
        mDayStep = new DayStep((long) i, date, 0);
        dao.update(mDayStep);
    }


    /**
     *修改或者替换（有的话就修改，没有则替换）     
     */
    public void insertOrReplace(long i, String date) {
        mDayStep = new DayStep((long) i, date, 0);
        dao.insertOrReplace(mDayStep);
    }


    /**
     *查找符合某一字段的所有元素   
     */
//    public void searchEveryWhere(String str) {
//        List<DayStep> mList = dao.queryBuilder()
//                .where(dao.date.eq(str)).build().listLazy();
//    }
//
//    List<DayStep> mList = dao.queryBuilder()
//            .where(dao.date.eq(str)).build().listLazy();
//

//    通过where查询指定数据
    /**
     * 查询指定用户
     */
    private static UserInfoDao mUserInfoDao;
    public static List<UserInfo> SearchUserInfo(int id) {
        //惰性加载
        List<UserInfo> list = mUserInfoDao.queryBuilder().where(UserInfoDao.Properties.Id.eq(id)).list();
        return list;

    }
}

